#nclude "walk.h"

/* for IsNullable(), we want:

 * do not recurse on already visited symbol
 * ignore actions
 * only call me postvisit


 */

/* if we got to end of rule, rule is nullable, so This is nullable */
int  IsNullableWalkEndRule(TWalk* Walk, TSymbol* This)
    {
    WalkResult(Walk, TRUE);
    WalkPop(Walk);
    }
int  IsNullableWalk(TWalk* Walk, TSymbol* This)
    {
    int     Result = FALSE;

    assert(WalkWhen(Walk) == WALK_POST);

    /* if it's a terminal, nothing to do (not nullable) */
    if(SymbolGetBit(This, SYM_TERMINAL))
        WalkNextRule(Walk);
    /* else it's a non-terminal */
    else
        {
        
        }

    return Result;
    }




